#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <string.h>

/*
	利用fgetc和fputc来实现逐字符的文本文件复制
	涉及到一个惯用法：
	循环读以及循环写

	思路：
	1.打开源文件，再打开目标文件
	2.循环读以及循环写
*/
void copy_file(const char* src_file, const char* dest_file) {
	FILE *fp_src = fopen(src_file, "r");
	if (fp_src == NULL) {
		printf("failed to open file: %s\n", src_file);
		exit(-1);
	}
	FILE *fp_dest = fopen(dest_file, "w");
	if (fp_dest == NULL) {
		fclose(fp_src);	// 不要忘记关闭已打开的源文件
		printf("failed to open file: %s\n", fp_dest);
		exit(-1);
	}
	int ch;
	while (( (ch = fgetc(fp_src)) != EOF)){
		fputc(ch, fp_dest);
	}
	fclose(fp_src);
	fclose(fp_dest);
}

int main(void) {
	copy_file("The_Holy_Bible.txt", "1.txt");
	return 0;
}